package com.sign2024.sign2024project.capitalconstruction.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sign2024.sign2024core.entry.capitalconstruction.JjMajorCollect;
import com.sign2024.sign2024project.capitalconstruction.param.JjMajorParam;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 基建专业汇总表导入;(jj_major_collect)表数据库访问层
 *
 * @author yujie
 * @data 2024/8/24 11:50
 */
public interface JjMajorCollectMapper extends BaseMapper<JjMajorCollect> {

    /**
     * 批量新增数据
     *
     * @param entities List<JjMajorCollect> 实例对象列表
     * @param taskId   任务 id
     * @return 影响行数
     */
    int insertBatchJjMajor(@Param("entities") List<JjMajorCollect> entities,
                           @Param("taskId") Integer taskId);

    /**
     * 通过 任务 id 删除数据
     *
     * @param taskId 任务 id
     * @return 影响行数
     */
    int deleteByTaskId(Integer taskId);

    /**
     * 分页查询指定行数据
     *
     * @param param 分页参数
     * @return 分页对象列表
     */
    List<JjMajorCollect> selectJjMajorByPage(JjMajorParam param);

    /**
     * 统计分页总条数
     *
     * @param param 分页参数
     * @return 统计分页总条数
     */
    Long pageJjMajorCount(JjMajorParam param);

    /**
     * 根据 ecp2.0 以及 任务 id 获取  基建专业汇总数据
     *
     * @param taskId 任务 id
     * @param epcTwo ecp2.0
     * @return
     */
//    JjMajorCollect selectMajorByIdAndEcp(@Param("taskId") Integer taskId,
//                                         @Param("epcTwo") String epcTwo);
    JjMajorCollect selectMajorByIdAndEcp(@Param("epcTwo") String epcTwo);


    /**
     * 清空 基建 专业汇总
     */
    void cleanJjMajorCollect();

    List<JjMajorCollect> selectListAll();


    JjMajorCollect selectMajorByBName(String epcTwo);

    /**
     * 更新数据
     *
     * @param jjMajorCollect 实例对象
     * @return 影响行数
     */
    int updateMajor(JjMajorCollect jjMajorCollect);
}
